![]() |
|
|||||
10.1.3 Abkürzungen
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Zeichen | Darstellung |
| & | & |
| < | < |
| > | > |
| ' | ' |
| » | " |
Damit kann der obige Buchtitel folgendermaßen korrekt dargestellt werden:
<Titel>Max & Moritz</Titel>
Angenommen, Sie haben nicht nur einige wenige Zeichen, die Sie durch Zeichenreferenzen darstellen möchten. Dann kann man dem Parser explizit sagen, dass bestimmte Bereiche des XML-Dokuments ausgespart werden. Dies ist beispielsweise dann interessant, wenn Sie JavaScript-Code im XML-Dokument eingefügt haben, das allerdings wegen der Ungleichheitszeichen nicht geparst werden soll. Die Darstellung sieht folgendermaßen aus:
<?xml version="1.0" encoding="ISO-8859-1"?> <Artikel> <![CDATA[ <Buch> <Nummer>12</Nummer> <Titel>Loriot's Wum & Wendelin</Titel> <Gruppe>Unterhaltung</Gruppe> </Buch> <Buch> <Nummer>13</Nummer> <Titel>Loriot's Heile Welt</Titel> <Gruppe>Unterhaltung</Gruppe> </Buch> ]]> </Artikel>
Beim Parsen werden nun die beiden Kindelemente des Elements <Buch> übergangen, was der Internet Explorer zeigt:
Abbildung 10.7 Ein Dokument mit einem CDATA-Abschnitt
So wie Sie an beliebigen Stellen Absatzzeichen eingeben können, können Sie auch an beliebigen Positionen des XML-Dokuments Kommentare einfügen. Sie beginnen jeweils mit einem <!-- und enden mit -->. Also beispielsweise:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- **** Dieses Dokument ist für die deutsche Sprache geeignet und folgt den Konventionen der Version 1.0. **** --> <!-- **** Und nun die eigentlichen Daten **** --> <Autorenliste> <!-- **** Der erste Datensatz **** --> <Autor> <Zuname>Twain</Zuname> <Vorname>Marc</Vorname> </Autor> <!-- **** Der zweite Datensatz **** --> <Autor> <Zuname>Melville</Zuname> <Vorname>Hermann</Vorname> </Autor> <!-- **** Der dritte Datensatz **** --> <Autor> <Zuname>Steinbeck</Zuname> <Vorname>John</Vorname> </Autor> </Autorenliste>
Abbildung 10.8 Ein Dokument mit Kommentaren
Kommentare dürfen dort im Text stehen, wo Text erlaubt ist. Am besten eignet sich die Stelle zwischen den Tags. Am Anfang eines Dokuments sind Kommentare verboten, ebenso wie innerhalb eines Tags ein Kommentar nicht erlaubt ist. Kommentare dürfen sich über mehrere Zeilen erstrecken. Da manche Browser, zum Beispiel der Internet Explorer, Kommentare anzeigen, sollten Sie die Kommentare vor dem Veröffentlichen des XML-Dokuments wieder löschen.
Übrigens dürfen Kommentare sogar Zeichen wie »<« beinhalten. Schließlich wird der Kommentar nicht verarbeitet.
Kommentare können - genau wie in der Programmierung - verwendet werden, um Teile eines Dokuments temporär auszublenden. Wenn Sie »John Steinbeck« nicht mögen, dann schalten Sie ihn aus.
Ebenso wie in HTML können Tags Attribute besitzen. So besitzt beispielsweise das Tabellen-Tag
<table border="0" width="100 %" height="219"
bordercolor="#FF0000">
in HTML die Attribute »border«, »width«, »height« und »bordercolor«. Das Gleiche gilt für die XML-Tags. Dort kann beispielsweise ein Telefon geschäftlich oder privat sein.
Im XML-Dokument sieht das folgendermaßen aus:
<Telefon art="geschäftlich">
Für die Namen der Attribute gelten die gleichen Regeln wie für die Namen der Tags: Sie beginnen mit einem Buchstaben und dürfen Buchstaben, Zahlen, Unterstriche und Bindestriche beinhalten. Die Werte der Attribute sind immer Text und werden immer in Anführungszeichen (einfachen oder doppelten) gesetzt.
Beispiele hierzu sind sicherlich von HTML bekannt. Das Tag <IMG> gibt an, dass ein Bild angezeigt wird. Das Attribut <SRC> gibt den Namen (und die Quelle) des Bilds an. Es ist zwingend notwendig, da es der Hauptbestandteil des Tags ist. Weniger wichtig sind beschreibende Attribute wie WIDTH und HEIGHT. Sie können eingefügt werden (um ein Bild zu vergrößern oder zu verkleinern), aber auch fehlen.
Selbstverständlich sind mehr als zwei Möglichkeiten zugelassen. Die Liste kann (fast) beliebig erweitert werden:
xml:lang
Als nützlich kann sich das Attribut »xml:lang« erweisen. Mit seiner Hilfe kann eine Sprache festgelegt werden. Dies ist dann interessant, wenn mehrere Sprachen (und damit auch mehrere unterschiedliche Sonderzeichen) in einem Dokument vorkommen. Beispielsweise in folgendem Dokument:
<?xml version="1.0" encoding="ISO-8859-1"?> <Die_Geschichte_vom_fliegenden_Robert> <Deutsch> <Z xml:lang="de">Wenn der Regen niederbraust,</Z> <Z xml:lang="de">wenn der Sturm das Feld durchsaust,</Z> <Z xml:lang="de">bleiben Mädchen oder Buben</Z> <Z xml:lang="de">hübsch daheim in ihren Stuben.</Z> </Deutsch> <Englisch> <Z xml:lang="en">When the rain and wind are strong,</Z> <Z xml:lang="en">when the storm roars loud and long</Z> <Z xml:lang="en">girls and boys at home abide</Z> <Z xml:lang="en">snug and warm by their fireside.</Z> </Englisch> <Französisch> <Z xml:lang="fr">Quand aux champs l'orage gronde,</Z> <Z xml:lang="fr">qu'il pleut partout à la ronde,</Z> <Z xml:lang="fr">les filles et les garçons</Z> <Z xml:lang="fr">demeurent à la maison.</Z> </Französisch> <Spanisch> <Z xml:lang="es">Cuando en días de tormenta</Z> <Z xml:lang="es">la lluvia azota, violenta,</Z> <Z xml:lang="es">los campos y la ciudad</Z> <Z xml:lang="es">los niños de corta edad</Z> <Z xml:lang="es">deben quedarse en su cuarto.</Z> </Spanisch> <Italienisch> <Z xml:lang="it">Quando giù la pioggia scroscia</Z> <Z xml:lang="it">ed il vento i campi affloscia</Z> <Z xml:lang="it">le fanciulle e i bambinetti</Z> <Z xml:lang="it">stanno in casa ben protetti.</Z> </Italienisch> <Lateinisch> <Z xml:lang="la">Pluviae cum defluunt,</Z> <Z xml:lang="la">venti campos perstrepunt</Z> <Z xml:lang="la">tum et puer et puella</Z> <Z xml:lang="la">domi maneant in cella!</Z> </Lateinisch> </Die_Geschichte_vom_fliegenden_Robert>
Abbildung 10.9 Nun werden alle Sprachen korrekt dargestellt.
Im Folgenden eine kleine Auswahlliste des ISO-639-Sprachcodes:
| Code | Sprache | Code | Sprache | Code | Sprache |
| ar | Arabisch | fr | Französisch | nl | Holländisch |
| ch | Chinesisch | gr | Griechisch | no | Norwegisch |
| cs | Tschechisch | hr | Kroatisch | pl | Polnisch |
| da | Dänisch | hu | Ungarisch | pt | Portugiesisch |
| de | Deutsch | is | Isländisch | ro | Rumänisch |
| en | Englisch | it | Italienisch | ru | Russisch |
| es | Spanisch | ja | Japanisch | sv | Schwedisch |
| fi | Finnisch | la | Lateinisch | tr | Türkisch |
Oft ist es für Web-Suchmaschinen praktisch, wenn die Sprache zum Inhalt angegeben ist. Deshalb können sogar Sprach-Subcodes verwendet werden:
<Sahne> <Begriff xml:lang="de-DE">Schlagsahne</Begriff> <Begriff xml:lang="de-CH">Schlagrahm</Begriff> <Begriff xml:lang="de-AT">Schlagobers</Begriff> </Sahne>
Die folgende Liste gibt einige der Länderspezifikationen wieder:
| Code | Land | Code | Land | Code | Land |
| AU | Australien | GR | Griechenland | PL | Polen |
| AT | Österreich | HU | Ungarn | PT | Portugal |
| BE | Belgien | IS | Island | RO | Rumänien |
| CA | Kanada | IN | Indien | RU | Russland |
| CN | China | IE | Irland | SK | Slowakei |
| HR | Kroatien | IL | Israel | ES | Spanien |
| CY | Zypern | IT | Italien | SE | Schweden |
| CZ | Tschechien | JP | Japan | CH | Schweiz |
| DK | Dänemark | LI | Liechtenstein | TR | Türkei |
| FI | Finnland | LU | Luxemburg | GB | Großbritannien |
| FR | Frankreich | NL | Niederlande | US | USA |
| DE | Deutschland | NO | Norwegen | YU | Jugoslawien |
Die Elemente können mit mehreren Attributen zum Beispiel so aussehen:
<Buch Kategorie="Koch- und Backbuch">Südamerikanische Küche</Buch> <Buch Kategorie="EDV">Berechnungen in Excel</Buch> <Buch Kategorie="Telefonbuch">Gelbe Seiten</Buch>
Achten Sie dabei auf die korrekten Anführungszeichen bei den Attributen:
<Telefon art="Festanschluss">4712</Telefon>
Übrigens könnte das Attribut auch in einfachen Anführungszeichen geschrieben werden:
<Telefon art='Handy' ort='an Bord der Pequod' inhaber='Ishmael'>4713</Telefon>
Da XML nur Text verwaltet, müssen Attribute - anders als in HTML - in Anführungszeichen geschrieben werden. Was in HTML so lautet
<img border=0 src="S12.jpg" usemap="#FPMap0" width=600 height=480>
muss in XML wie folgt geschrieben werden:
<img border=0 src="S12.jpg" usemap="#FPMap0" width="600" height="480">
Vielleicht fragen Sie sich, warum überhaupt mit Attributen gearbeitet wird. Man könnte ein Buchelement, das folgenden Tag besitzt
<Buch Titel="VB.net lernen" Autor="Rene Martin"
Verlag="Galileo Press" ISBN="3-8984-2227-1"/>
auch folgendermaßen schreiben:
<Buch> <Titel> VB.net lernen </Titel> <Autor>Rene Martin</Autor> <Verlag>Galileo Press</Verlag> <ISBN>3-8984-2227-1</ISBN> </Buch>
Über diese Frage ist schon viel geschrieben und diskutiert worden. Es gibt allerdings einige - wenn auch schwache - Argumente für oder gegen die eine oder die andere Schreibweise. Für Attribute sprechen folgende Argumente:
| Die Anzahl der Zeichen ist geringer, was sich bei sehr großen Datenmengen bemerkbar machen kann. |
| Man kann Attribute nicht schachteln. |
| Attribute haben keine festgelegte Reihenfolge. |
| Viele Attribute sind vom Menschen schwer zu lesen. |
| Eine Schachtelung ist möglich. |
| Durch Entitäten können sich wiederholende Werte abgekürzt werden. |
| Viele Kindelemente können vom Menschen noch immer gut gelesen werden. |
Die Nachteile von Kindelementen:
| Der Platzverbrauch erhöht sich leicht. |
| Kindelemente sind etwas schwieriger zu programmieren. |
Damit sind die wichtigsten Punkte beschrieben, die ein gültiges XML-Dokument ausmachen. Jedes XML-Dokument beginnt mit einem so genannten Prolog. Darin befindet sich die XML-Deklaration:
<?xml version="1.0"?>
Für uns Deutsch schreibende Menschen ist die Deklaration des Ländercodes wichtig:
<?xml version="1.0" encoding="ISO-8859-1"?>
Das Dokument ist aus Elementen aufgebaut. Der Inhalt der Elemente wird durch Tags umschlossen. Der Anfangs-Tag muss gleich lauten wie der End-Tag - auch die Groß- und Kleinschreibung muss bei beiden die gleiche sein. Ein Tag beginnt mit einer spitzen, öffnenden Klammer und endet mit einer spitzen, schließenden Klammer. Das End-Tag unterscheidet sich vom Anfangs-Tag durch einen Schrägstrich.
Jedes XML-Dokument besitzt ein Wurzelelement. Alle anderen Elemente sind - streng hierarchisch - darauf aufgebaut. Ein Element umschließt ein anderes Element immer vollständig - Verschränkungen gibt es in XML nicht.
Ein leeres Element wird als einfacher Tag durch einen Schrägstrich am Ende gekennzeichnet. Das Dokument kann Kommentare beinhalten. Elemente können Kommentare einschließen.
Für die Namen der Tags und Attribute gelten die üblichen - strengen - Regeln. Nur Buchstaben und Zahlen können verwendet werden.
| << zurück |
| ||||||||||||
| ||||||||||||
| ||||||||||||
| ||||||||||||
| ||||||||||||
| ||||||||||||
Copyright © Galileo Press GmbH 2002 - 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.